package com.ys.entity.finance;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCW_WanliTransfer", catalog="Id")
public class TcwWanliTransfer extends BaseEntity<TcwWanliTransfer> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Mid", nameJava="mid", typeDataBase="varchar")
	private String mid;
	@YsField(nameDataBase="Type", nameJava="type", typeDataBase="tinyint")
	private Integer type;
	@YsField(nameDataBase="RelativeId", nameJava="relativeId", typeDataBase="bigint")
	private Long relativeId;
	@YsField(nameDataBase="TransferRequestId", nameJava="transferRequestId", typeDataBase="varchar")
	private String transferRequestId;
	@YsField(nameDataBase="TransferCustomerId", nameJava="transferCustomerId", typeDataBase="varchar")
	private String transferCustomerId;
	@YsField(nameDataBase="TransferFromAmountValue", nameJava="transferFromAmountValue", typeDataBase="decimal")
	private BigDecimal transferFromAmountValue;
	@YsField(nameDataBase="CurrencyCode", nameJava="currencyCode", typeDataBase="char")
	private String currencyCode;
	@YsField(nameDataBase="PurposeCode", nameJava="purposeCode", typeDataBase="varchar")
	private String purposeCode;
	@YsField(nameDataBase="NeedMigrateMaterial", nameJava="needMigrateMaterial", typeDataBase="char")
	private String needMigrateMaterial;
	@YsField(nameDataBase="TransferNotifyUrl", nameJava="transferNotifyUrl", typeDataBase="varchar")
	private String transferNotifyUrl;
	@YsField(nameDataBase="TransferQuote", nameJava="transferQuote", typeDataBase="varchar")
	private String transferQuote;
	@YsField(nameDataBase="TransferToCustomerId", nameJava="transferToCustomerId", typeDataBase="varchar")
	private String transferToCustomerId;
	@YsField(nameDataBase="TransferToAmountValue", nameJava="transferToAmountValue", typeDataBase="decimal")
	private BigDecimal transferToAmountValue;
	@YsField(nameDataBase="ResultCode", nameJava="resultCode", typeDataBase="varchar")
	private String resultCode;
	@YsField(nameDataBase="ResultMessage", nameJava="resultMessage", typeDataBase="varchar")
	private String resultMessage;
	@YsField(nameDataBase="ResultStatus", nameJava="resultStatus", typeDataBase="char")
	private String resultStatus;
	@YsField(nameDataBase="State", nameJava="state", typeDataBase="tinyint")
	private Integer state;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TcwWanliTransfer setId(Long id) {
		this.id = id;
		return this;
	}
	public String getMid() {
		return mid;
	}
	public TcwWanliTransfer setMid(String mid) {
		this.mid = mid;
		return this;
	}
	public Integer getType() {
		return type;
	}
	public TcwWanliTransfer setType(Integer type) {
		this.type = type;
		return this;
	}
	public Long getRelativeId() {
		return relativeId;
	}
	public TcwWanliTransfer setRelativeId(Long relativeId) {
		this.relativeId = relativeId;
		return this;
	}
	public String getTransferRequestId() {
		return transferRequestId;
	}
	public TcwWanliTransfer setTransferRequestId(String transferRequestId) {
		this.transferRequestId = transferRequestId;
		return this;
	}
	public String getTransferCustomerId() {
		return transferCustomerId;
	}
	public TcwWanliTransfer setTransferCustomerId(String transferCustomerId) {
		this.transferCustomerId = transferCustomerId;
		return this;
	}
	public BigDecimal getTransferFromAmountValue() {
		return transferFromAmountValue;
	}
	public TcwWanliTransfer setTransferFromAmountValue(BigDecimal transferFromAmountValue) {
		this.transferFromAmountValue = transferFromAmountValue;
		return this;
	}
	public String getCurrencyCode() {
		return currencyCode;
	}
	public TcwWanliTransfer setCurrencyCode(String currencyCode) {
		this.currencyCode = currencyCode;
		return this;
	}
	public String getPurposeCode() {
		return purposeCode;
	}
	public TcwWanliTransfer setPurposeCode(String purposeCode) {
		this.purposeCode = purposeCode;
		return this;
	}
	public String getNeedMigrateMaterial() {
		return needMigrateMaterial;
	}
	public TcwWanliTransfer setNeedMigrateMaterial(String needMigrateMaterial) {
		this.needMigrateMaterial = needMigrateMaterial;
		return this;
	}
	public String getTransferNotifyUrl() {
		return transferNotifyUrl;
	}
	public TcwWanliTransfer setTransferNotifyUrl(String transferNotifyUrl) {
		this.transferNotifyUrl = transferNotifyUrl;
		return this;
	}
	public String getTransferQuote() {
		return transferQuote;
	}
	public TcwWanliTransfer setTransferQuote(String transferQuote) {
		this.transferQuote = transferQuote;
		return this;
	}
	public String getTransferToCustomerId() {
		return transferToCustomerId;
	}
	public TcwWanliTransfer setTransferToCustomerId(String transferToCustomerId) {
		this.transferToCustomerId = transferToCustomerId;
		return this;
	}
	public BigDecimal getTransferToAmountValue() {
		return transferToAmountValue;
	}
	public TcwWanliTransfer setTransferToAmountValue(BigDecimal transferToAmountValue) {
		this.transferToAmountValue = transferToAmountValue;
		return this;
	}
	public String getResultCode() {
		return resultCode;
	}
	public TcwWanliTransfer setResultCode(String resultCode) {
		this.resultCode = resultCode;
		return this;
	}
	public String getResultMessage() {
		return resultMessage;
	}
	public TcwWanliTransfer setResultMessage(String resultMessage) {
		this.resultMessage = resultMessage;
		return this;
	}
	public String getResultStatus() {
		return resultStatus;
	}
	public TcwWanliTransfer setResultStatus(String resultStatus) {
		this.resultStatus = resultStatus;
		return this;
	}
	public Integer getState() {
		return state;
	}
	public TcwWanliTransfer setState(Integer state) {
		this.state = state;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TcwWanliTransfer setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TcwWanliTransfer setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TcwWanliTransfer setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TcwWanliTransfer tcwWanliTransfer(
		String mid,
		Integer type,
		Long relativeId,
		String transferRequestId,
		String transferCustomerId,
		BigDecimal transferFromAmountValue,
		String currencyCode,
		String purposeCode,
		String needMigrateMaterial,
		String transferNotifyUrl,
		String transferQuote,
		String transferToCustomerId,
		BigDecimal transferToAmountValue,
		String resultCode,
		String resultMessage,
		String resultStatus,
		Integer state,
		Integer status
			) {
		TcwWanliTransfer entity = new TcwWanliTransfer();
		entity.setMid(mid);
		entity.setType(type);
		entity.setRelativeId(relativeId);
		entity.setTransferRequestId(transferRequestId);
		entity.setTransferCustomerId(transferCustomerId);
		entity.setTransferFromAmountValue(transferFromAmountValue);
		entity.setCurrencyCode(currencyCode);
		entity.setPurposeCode(purposeCode);
		entity.setNeedMigrateMaterial(needMigrateMaterial);
		entity.setTransferNotifyUrl(transferNotifyUrl);
		entity.setTransferQuote(transferQuote);
		entity.setTransferToCustomerId(transferToCustomerId);
		entity.setTransferToAmountValue(transferToAmountValue);
		entity.setResultCode(resultCode);
		entity.setResultMessage(resultMessage);
		entity.setResultStatus(resultStatus);
		entity.setState(state);
		entity.setStatus(status);
		return entity;
	}
}